package co.yixiang.modules.system.service;
import co.yixiang.common.service.BaseService;
import co.yixiang.modules.system.domain.VersionDesc;
import co.yixiang.modules.system.dto.VersionDescDto;
import co.yixiang.modules.system.dto.queryCriteria.VersionDescQueryCriteria;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

/**
* @author DB
* @date 2020-09-08
*/
public interface VersionDescService  extends BaseService<VersionDesc>{

/**
    * 查询数据分页
    * @param criteria 条件
    * @param pageable 分页参数
    * @return Map<String,Object>
    */
    Map<String,Object> queryAll(VersionDescQueryCriteria criteria, Pageable pageable);


    //@Cacheable
    List<VersionDesc> queryAll(VersionDescQueryCriteria criteria);

    //@Cacheable
    VersionDesc queryOne(VersionDescQueryCriteria criteria);

    /**
    * 导出数据
    * @param all 待导出的数据
    * @param response /
    * @throws IOException /
    */
    void download(List<VersionDescDto> all, HttpServletResponse response) throws IOException;

    String queryVersion();
}
